#ifndef ARCHIVOTERMINOS_H_
#define ARCHIVOTERMINOS_H_

#pragma once
#include <stdlib.h>
#include "Archivo.h"
#include "IndiceTerminos.h"
#include "RegistroTermino.h"

#define BLOCK_SIZE 1 //MB
using namespace std;

class ArchivoTerminos: public Archivo {
private:
	IndiceTerminos *i;
	RegistroTermino cache;

	void setCache(string termino);
	void resetCache();
	void fileToCache(unsigned int offset);
	bool bufferToCache(char* buf, string s);
	unsigned int bl;

public:
	ArchivoTerminos(const char* filename);
	void add(string termino, uint32_t nroTermino, float peso);
	uint32_t getNroTermino(string termino);
	float getPesoGlobal(string termino);
	~ArchivoTerminos();
};

#endif /* ARCHIVOTERMINOS_H_ */
